package com.tianya.context;

import io.swagger.annotations.ApiModel;

/**
 * @author TianYaGuoKe
 * @date 2025/5/4 14:00
 * @description 用户上下文类，用于存储当前登录用户的上下文信息
 */
@ApiModel("用户上下文类")
public class UserContext {

    // 当前登录用户的ID
    private static final ThreadLocal<Long> userIdContext = new ThreadLocal<>();

    /**
     * 设置当前登录用户的ID
     *
     * @param userId 用户ID
     */
    public static void setUserId(Long userId) {
        userIdContext.set(userId);
    }

    /**
     * 获取当前登录用户的ID
     *
     * @return 当前登录用户的ID
     */
    public static Long getUserId() {
        return userIdContext.get();
    }

    /**
     * 清除当前登录用户的ID
     */
    public static void clearUserId() {
        userIdContext.remove();
    }
}